import java.util.*;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 徐海涛
 * Date: 2022-02-20
 * Time: 13:03
 */
public class TestDemo {
    // Set 的使用说明
    public static void main(String[] args) {
        Set<Integer> set = new HashSet<>();
        set.add(1);
        set.add(2);
        set.add(3);
        //如果在添加一个1 它只会存储一个1(自动去重)
        set.add(1);
        System.out.println(set);
        //返回迭代器 返回值 Iterator<Integer> iterator
        Iterator<Integer> iterator = set.iterator();
        //迭代器打印方式
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
    public static void main3(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("abc",3);
        map.put("bit",2);
        map.put("hello",4);
        map.put(null,null);
        System.out.println(map);
        //返回所有key-value映射关系 就是将 key，val看做一个整体 放在set当中
        Set<Map.Entry<String,Integer>> entrySet =map.entrySet();//返回值是Set<Map.Entry<Sting,Integer>>
        for (Map.Entry<String,Integer> entry:entrySet) {
            System.out.println(entry.getKey()+"->" + entry.getValue());
        }
    }
    public static void main2(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("abc",3);//放元素
        map.put("bit",2);//put存储元素的时候，要注意key如果相同 val值会被覆盖
        map.put("hello",4);
        map.put("hello",5);
        System.out.println(map);
        Set<String> set = map.keySet();//返回所有K的不重复集合
        //set这个集合当中存储的元素 都是不重复的
        System.out.println(set);
    }
    public static void main1(String[] args) {
        Map<String, Integer> map = new HashMap<>();//Map<k,v>
        //k元素，v值
        map.put("abc",3);//放元素,设置K对应的value
        map.put("bit",2);
        map.put("hello",4);//存放元素顺序和打印顺序不一样
        //为什么呢？ hashmap存储元素的时候，不是按照你的存储顺序进行打印的
        //存储的时候，是根据一个函数来进行存储的，具体存储到哪里？由函数来确定
        //这个函数是哈希函数
        System.out.println(map);
        int ret = map.get("bit");//返回K对应的value
        System.out.println(ret);
        System.out.println(map.get("bit2"));
        Integer ret2= map.remove("bit");//删除bit，返回值是v，v是整数
        System.out.println(ret2);
        System.out.println(map);
    }


}
